#pragma once
#include <QtCore/QAbstractTableModel>

class SkillModel;

class SkillListVM :
	public QAbstractTableModel
{
	Q_OBJECT

private:
	typedef QAbstractTableModel base;

#pragma region Constructor

public:
	SkillListVM(QList<SkillModel*>* model);
	~SkillListVM(void);

#pragma endregion

#pragma region Overrides

	virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const;
	int rowCount(const QModelIndex & parent = QModelIndex()) const;
	int columnCount(const QModelIndex & parent = QModelIndex()) const;
	QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
	bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
	Qt::ItemFlags flags(const QModelIndex & index) const;
	bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex());
	bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex());

#pragma endregion

#pragma region Properties and Fields

	QList<SkillModel*>* _model;

#pragma endregion
};

